#ifndef CompositorTraits_H__
#define CompositorTraits_H__

//ABCCompositor Traits 

//#include "CompositorTraits.cpp"

template <class RET>
class CRetMod
{
public:
	virtual void operator()(RET& returnVal,RET assignable)
	{
		returnVal = assignable;
	}
};

template <class RET>
class CRetModAgg : public CRetMod<RET>
{
public:
	void operator()(RET& returnVal,RET assignable)
	{
		returnVal += assignable;
	}
};

//ABCCompositor Traits 
template <class RET,class retMod = CRetMod<RET>>
class _traits
{
public:

	static retMod	returnModifier;
		
};

#endif